package licode.unisop.provider.api;

import licode.unisop.provider.info.SiIdentityContext;
import licode.unisop.provider.info.SiReturnCode;

/**
 * 定义用户认证接口
 *
 * @author licode
 */
public interface SiAuthenticationProvider {
    /**
     * 用户认证提供者名称（唯一）
     * @return 名称
     */
    String getName();

    /**
     * 根据新传入的用户认证信息和用户自身的认证信息进行校验
     * @param context 认证信息
     * @return 成功返回0
     */
    SiReturnCode authenticate(SiIdentityContext context);
}
